Overview
Whilst harness code deals with infrastructure issues, processing code provides the application's algorithmic content. If a legacy sequential application is parallelized, the processing code is typically re-used 'as-is' but the infrastructure that coordinates the execution of the processing code needs to be replaced with a concurrent equivalent. Processing code is usually compiled into 'topic' libraries and then called from the user's harness code.
Adding Code
Entering process code for an active object is simply a matter of selecting the appropriate function from the Edit Code sub-menu for the active object. Process code is distinguished from the harness code in that the harness code has to deal with CDL objects to extract data from the CLIP event trees (see Entering Harness Code). Whilst process code should be isolated from CLIP to keep the code as pure (i.e. portable) as possible.
For methods, the Process() function performs the main processing.
A number of process functions can be generated, one for each path through the event tree (ie the tree contains overloaded multiplexors). If there are no multiplexors in the tree, only a single Process() function is generated, otherwise a function is generated with an appropriate name for each branch combination for which an overload name has been specified. When editing code you need to ensure that you are editing the correct function for the branch.
Examples
See Processing Code.